package types

import (
	types2 "insighttracking/common/types"
)

type CreateDishReq struct {
	Code     string     `json:"code,optional"`                 // 菜品编号
	Describe string     `json:"describe,optional"`             // 描述
	Image    string     `json:"image,optional"`                // 图片
	Name     string     `json:"name"`                          // 菜品名称
	IsEnable int64      `json:"isEnable" validate:"oneof=1 2"` // 是否启用1-启用 2-不启用
	SpuRatio []SpuRatio `json:"spu_ratio"`                     // 食材配比
}

type SpuRatio struct {
	Percent int64 `json:"percent"` // 1-10000，例如99.88%传9988
	SpuID   int64 `json:"spu_id"`  // 商品ID
}

type DishPagesReq struct {
	Name     string `json:"name,optional"`      // 名称
	Code     string `json:"code,optional"`      // 编号
	IsEnable int64  `json:"is_enable,optional"` //状态，是否禁用
	PageBaseReq
}

type DishPagesResp struct {
	PageBaseResp
	Data []DishPagesData `json:"data"`
}
type DishPagesData struct {
	ID        int64  `json:"id"`         // ID
	Name      string `json:"name"`       // 名称
	Code      string `json:"code"`       // 编号
	Describe  string `json:"describe"`   // 描述
	IsEnable  int64  `json:"is_enable"`  // 是否启用1-启用 2-不启用
	CreatedAt int64  `json:"created_at"` // 创建时间
	UpdatedAt int64  `json:"updated_at"` // 更新时间
}

type DishAssociateResp struct {
	Data []*types2.SimpleList `json:"data"`
}

type DishDetailResp struct {
	Name         string          `json:"name"`     // 名称
	Code         string          `json:"code"`     // 编号
	Describe     string          `json:"describe"` // 描述
	Image        string          `json:"image"`
	SpuRatioInfo []*SpuRatioInfo `json:"spu_ratio_info"`
}

type SpuRatioInfo struct {
	SpuID           int64  `json:"spu_id"`
	Name            string `json:"name"`
	ProductImageUrl string `json:"product_image_url"`
	SpuType         int64  `json:"type"`
	UnitName        string `json:"unit_name"`
	Percent         int64  `json:"percent"`
}

type EditDishReq struct {
	ID       int64      `json:"id"`
	Code     string     `json:"code,optional"`                 // 菜品编号
	Describe string     `json:"describe,optional"`             // 描述
	Image    string     `json:"image,optional"`                // 图片
	Name     string     `json:"name"`                          // 菜品名称
	IsEnable int64      `json:"isEnable" validate:"oneof=1 2"` // 是否启用1-启用 2-不启用
	SpuRatio []SpuRatio `json:"spu_ratio"`                     // 食材配比
}
